两个结构总是不同的类型,即使它们有着相同的成员。例如,
struct S1 { int a; }; struct S2 { int a; };
是不同的类型。所以
S1 x; S2 y = x; // 错误❌:类型不匹配
结构类型也与各种基本类型不同,所以
S1 x; int i = x; // 错误❌:类型不匹配
每个Struct都必须是在程序里惟一定义的(9.2.3节)。
🔚